<?php
/*
计算跳水比赛的得分，去掉一个最高分及一个最低分，最后求平均值，保留两位小数。
编写函数outGrade实现显示功能。
若打最高或最低分的裁判有多个，显示其中一个即可，显示如下：
打出最低分的裁判为：四号裁判，打分为：89
打出最高分的裁判为：五号裁判，打分为：99
最后得分为：95.87
*/
function outGrade($grades): void{ //按要求输出比赛的结果
    asort($grades);//升序排列，保留key
    $k=array_keys($grades);//由key组成的新数组，新数组的key是整数0,1,2,3，....
    $v=array_values($grades);//由value组成的新数组，新数组的key是整数0,1,2,3，....
    $rs=count($k);//裁判的人数
    echo "打出最低分的裁判:",$k[0],", 打分为: ",$v[0], "\n" ;
    echo "打出最高分的裁判:",$k[$rs-1], ", 打分为:", $v[$rs-1], "\n" ;
    echo "最后得分为：",round((array_sum($v)-$v[0]-$v[$rs-1])/($rs-2),2), "\n";
}

$grades = [
    '一号裁判' => 98.2,
    '二号裁判' => 97.5,
    '三号裁判' => 91,
    '四号裁判' => 89,
    '五号裁判' => 99,
    '六号裁判' => 98.5,
    '七号裁判' => 96.6,
    '八号裁判' => 93.4,
];
outGrade($grades);

